package com.zhuiyun.project.api.video.userVideo.service;

import com.zhuiyun.project.api.video.publishVideo.model.PublishVideoModel;
import com.zhuiyun.project.common.errorCode.CommonException;
import com.zhuiyun.project.common.response.CommonResult;
import com.zhuiyun.project.utils.pageUtil.PageRequest;

import java.util.List;

/**
 * @ClassName userVideoService
 * @Description 用户视频管理
 * @Author qsh
 * @Date 2024/2/26 9:12
 **/
public interface UserVideoService {
    /**
     * @Author qsh
     * @Description 查询分发视频
     * @Date 2023/12/13 20:56
     * @Return java.util.List<com.zhuiyun.project.api.video.publishVideo.entity.PublishVideo>
     * @param publishVideoModel
     */
    CommonResult getUserVideoF(PublishVideoModel publishVideoModel, PageRequest pageRequest);

    /**
     * @Author qsh
     * @Description 查询推荐视频
     * @Date 2023/12/13 20:56
     * @Return java.util.List<com.zhuiyun.project.api.video.publishVideo.entity.PublishVideo>
     * @param publishVideoModel
     */
    CommonResult getUserVideoT(PublishVideoModel publishVideoModel, PageRequest pageRequest);

    /**
     * @Author qsh
     * @Description 查询低质量视频
     * @Date 2023/12/13 20:56
     * @Return java.util.List<com.zhuiyun.project.api.video.publishVideo.entity.PublishVideo>
     * @param publishVideoModel
     */
    CommonResult getUserVideoD(PublishVideoModel publishVideoModel, PageRequest pageRequest);

    /**
     * @Author qsh
     * @Description 查询运营下线视频
     * @Date 2023/12/13 20:56
     * @Return java.util.List<com.zhuiyun.project.api.video.publishVideo.entity.PublishVideo>
     * @param publishVideoModel
     */
    CommonResult getUserVideoX(PublishVideoModel publishVideoModel, PageRequest pageRequest);

    /**
     * @Author qsh
     * @Description 查询用户自删视频
     * @Date 2023/12/13 20:56
     * @Return java.util.List<com.zhuiyun.project.api.video.publishVideo.entity.PublishVideo>
     * @param publishVideoModel
     */
    CommonResult getUserVideoS(PublishVideoModel publishVideoModel, PageRequest pageRequest);

    /**
     * @Author qsh
     * @Description 逻辑删除上传视频
     * @Date 2023/12/15 15:32
     * @Return com.zhuiyun.project.common.response.CommonResult
     * @param videoIds
     */
    CommonResult DeleteVideoById(List<Integer> videoIds) throws CommonException;

}
